SeqTrans: Automatic Vulnerability Fix Via Sequence to Sequence Learning
نویسندگان
چکیده
Software vulnerabilities are now reported unprecedentedly due to the recent development of automated vulnerability hunting tools. However, fixing still mainly depends on programmers’ manual efforts. Developers need deeply understand and affect system’s functions as little possible. In this paper, with advancement Neural Machine Translation (NMT) techniques, we provide a novel approach called SeqTrans exploit historical fixes suggestions automatically fix source code. To capture contextual information around vulnerable code, propose leverage data-flow dependencies construct code sequences feed them into state-of-the-art transformer model. The fine-tuning strategy has been introduced overcome small sample size problem. We evaluate dataset containing 1,282 commits that 624 CVEs in 205 Java projects. Results show accuracy outperforms latest techniques achieves 23.3% statement-level 25.3% CVE-level fix. meantime, look deep inside result observe NMT model performs very well certain kinds like CWE-287 (Improper Authentication) CWE-863 (Incorrect Authorization).
منابع مشابه
Sequence-to-Sequence ASR Optimization via Reinforcement Learning
Despite the success of sequence-to-sequence approaches in automatic speech recognition (ASR) systems, the models still suffer from several problems, mainly due to the mismatch between the training and inference conditions. In the sequence-to-sequence architecture, the model is trained to predict the grapheme of the current time-step given the input of speech signal and the ground-truth grapheme...
متن کاملConvolutional Sequence to Sequence Learning
A. Weight Initialization We derive a weight initialization scheme tailored to the GLU activation function similar to Glorot & Bengio (2010); He et al. (2015b) by focusing on the variance of activations within the network for both forward and backward passes. We also detail how we modify the weight initialization for dropout. A.1. Forward Pass Assuming that the inputs x l of a convolutional laye...
متن کاملConvolutional Sequence to Sequence Learning
The prevalent approach to sequence to sequence learning maps an input sequence to a variable length output sequence via recurrent neural networks. We introduce an architecture based entirely on convolutional neural networks.1 Compared to recurrent models, computations over all elements can be fully parallelized during training and optimization is easier since the number of non-linearities is fi...
متن کاملSequence to Sequence Learning in Neural Network
Neural Network Elements. Deep learning is the name we use for “stacked neural networks”; that is, networks composed of several layers. The layers are made of nodes. A node is just a place where computation happens, loosely patterned on a neuronin the human brain, which fires when it encounters sufficient stimuli. Deep Neural Networks (DNNs) are powerful models that have achieved excellent perfo...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: IEEE Transactions on Software Engineering
سال: 2023
ISSN: ['0098-5589', '1939-3520', '2326-3881']
DOI: https://doi.org/10.1109/tse.2022.3156637